// js 不适合做一些复杂的计算
// 精度丢失  2^53-1  64位
// 第1位 符号位 0 表示正数 1 表示负数
// 第11位 指数位 表示 2 的多少次幂
// 中间 52位 表示小数部分
// 最后 1位 表示 2^0
let num = 12345678987654321;
console.log(num,typeof num); // 12345678987654321 number
console.log(Number.MAX_SAFE_INTEGER); // 12345678987654321

// 指数运算符 es7
console.log(2 ** 10); // 1024

// 函数默认值，可选参数   
// 函数参数可以设置默认值
// 如果调用时没有传递参数，就会使用默认值
function foo(x=1,y=1){
    return x + y; 
}
console.log(foo()); // 2
console.log(foo(2,3)); // 5


function foo(...args) {
    console.log(arguments);
    console.log(args);
}
foo(1,2,3,4,5); // [ 1, 2, 3, 4, 5 ]